A database, such as a relational database, an object-oriented database, or another type of data management system, may be used for the administration of data processed by a computer system running one or more application programs or systems. Examples of application programs or systems include an enterprise resource management system, a customer relationship management system, a human resources management system, a supply chain management system, and a financial management system. In some cases, portions of data used for an application system on one computer system (which may be referred to as a central computer) may need to be sent to another computer system or computing device (collectively, computer) that stores a copy of the application data for use by one or more users that access the application system using the receiving computer. The receiving computer may be referred to as having partially replicated data because the computer receives and stores only a portion of the data stored by the central computer system. The receiving computer also may be referred to as a node of the central computer system or as a data site or a computer site of the application (collectively “site” or “data site”).
To manage the distribution of data from a central computer system to multiple computers having partially replicated data, replication messages containing the data may be sent from the central computer system to the appropriate data sites based on the data needs of the user or users accessing the application through the data site. Particular replication messages may be sent to one or more particular data sites based on a data distribution program that uses manually created data distribution information to control the routing of replication messages to data sites. Using a publish-and-subscribe model, replication messages are routed based on manually created data distribution information that includes publications and subscriptions. In one implementation of the model, an application “publishes” data such that the data is made available to be accessed, such as by packaging the data into a replication message and routes the message to another application or data source based on a “subscription” to the publication of data.